package com.yunxi.finance.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.finance.pojo.VehiclePriceQueryReqVO;
import com.yunxi.finance.pojo.VehiclePriceQueryRespVO;
import com.yunxi.finance.pojo.VehiclePriceVO;

import java.lang.reflect.InvocationTargetException;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 车辆价格 服务类
 * </p>
 *
 * @author 
 * @since 2019-05-22
 */
public interface VehiclePriceDubboService {

    VehiclePriceVO getById(String id) throws InvocationTargetException, IllegalAccessException;

    void saveOrUpdate(VehiclePriceVO baseVehiclePriceVO) throws InvocationTargetException, IllegalAccessException;

    void removeById(String id);

    PageInfo<VehiclePriceVO> findPageByVO(VehiclePriceVO vehiclePriceVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    void removeByListVo(List<VehiclePriceVO> baseVehiclePriceVOList) throws IllegalAccessException, InvocationTargetException, InstantiationException;

    void check(VehiclePriceVO vehiclePriceVO);

    void check(List<VehiclePriceVO> vehiclePriceVOList);

    PageInfo<VehiclePriceQueryRespVO> queryVehiclePriceResult(VehiclePriceQueryReqVO vo, int pageIndex, int pageSize);

    BigDecimal queryPriceByCatalogCode(String catalogCode);

    BigDecimal compoutePriceByCondition(VehiclePriceQueryReqVO vo);
}
